package com.yzh.springboot_rbac.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**对象 tb_user
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable
{
    private static final long serialVersionUID = 1L;

    /**  用户ID   */
    private Integer userId;

    /** 用户昵称 */

    private String nickName;

    /** 用户名 */

    private String userName;

    /** 用户密码 */

    private String password;

    /** 用户邮箱 */

    private String email;

    /** 手机号码 */

    private String phonenumber;

    /** 用户性别（0男 1女 2未知） */

    private String sex;

    /** 用户类型（00系统用户） */

    private String userType;

    /** 头像地址 */

    private String avatar;

    /** 账号状态（0停用 1启用） */

    private String status;

    /** 删除标志（0删除 1存在） */
    private String delFlag;



    /** 最后登录ip */

    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date loginDate;

    /*一个用户对应一个部门，加实体类*/
    private Dept dept;
    private Integer deptId;

    /*一个用户对应多个岗位，加集合*/
    private Integer postIds;
    private List<Post> postList;

    /*一个用户对应多个角色，加集合*/
    private List<Role> roleList;

    private String createBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    private String updateBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    private String remark;


}

    /*用户开始牵扯到多变联系*/
    /*1.多对多：一个用户多个角色，一个角色多个用户
     * 2.一对多：一个用户一个部门，一个部门多个用户。
     * 3.多对多：一个用户多个岗位，一个岗位多个用户*/
    /*岗位先不写*/
    /*角色表先不写*/

